/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package gerenciadorprojetos.dao.hibernate;

import java.util.List;
import org.apache.log4j.Logger;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import gerenciadorprojetos.dao.*;
import org.springframework.dao.DataAccessException;

/**
 *
 * @author eduardo
 */
public class NotasProjetoDAO extends HibernateDaoSupport {

    private Logger logger = Logger.getLogger(ProjetoDAO.class);

    public NotasProjetoDAO obtemNotaPorID(int id) {
        logger.debug("Buscando nota pelo ID");
        return (NotasProjetoDAO) getHibernateTemplate().get(NotasProjetoDAO.class, id);
    }

    public List obtemNotasProjeto(Projeto p) {
        logger.debug("Buscando notas de um projeto");
        return getHibernateTemplate().find("from NotasProjeto where projeto = ?", p);
    }

    public boolean adicionaNotaProjeto(NotasProjeto n) {
        logger.debug("Adicionando nota a um projeto");
        try {
            getHibernateTemplate().save(n);
            return true;
        } catch (DataAccessException e) {
            logger.error("Erro ao adicionar a notaProjeto - " + e.getMessage());
            return false;
        }
    }

    public boolean removerNotaProjeto(NotasProjeto n) {
        logger.debug("Removendo nota a um projeto");
        try {
            getHibernateTemplate().delete(n);
            return true;
        } catch (DataAccessException e) {
            logger.error("Erro ao remover a notaProjeto - " + e.getMessage());
            return false;
        }
    }

    public boolean atualizarNotaProjeto(NotasProjeto n) {
        logger.debug("Atualizando nota de um projeto");
        try {
            getHibernateTemplate().load(Projeto.class, new Integer(n.getIdNotaProjeto()));
            getHibernateTemplate().saveOrUpdate(n);
            getHibernateTemplate().flush();
            return true;
        } catch (DataAccessException e) {
            logger.error("Erro ao atualizar a notaProjeto - " + e.getMessage());
            return false;
        }
    }
}
